home *** CD-ROM | disk | FTP | other *** search
- -- stack: in
- -- format: 8 (HyperCard 1)
- -- flags: 0x4000 (can't delete)
- -- protect password hash: 0
- -- maximum user level: 5 (scripting)
- -- window: Rect(x1=0, y1=0, x2=0, y2=0)
- -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
- -- card dimensions: w=0 h=0
- -- scroll: x=0 y=0
- -- background count: 1
- -- first background id: 2792
- -- card count: 1
- -- first card id: 3477
- -- list block id: 2056
- -- print block id: 0
- -- font table block id: 0
- -- style table block id: 0
- -- free block count: 0
- -- free size: 0 bytes
- -- total size: 14656 bytes
- -- stack block size: 5120 bytes
- -- created by hypercard version: 0x00000000
- -- compacted by hypercard version: 0x00000000
- -- modified by hypercard version: 0x00000000
- -- opened by hypercard version: 0x00000000
- -- patterns[0]: 0x0000000000000000
- -- patterns[1]: 0x0000220000002200
- -- patterns[2]: 0x8800220088002200
- -- patterns[3]: 0xCC003300CC003300
- -- patterns[4]: 0xCC883322CC883322
- -- patterns[5]: 0xEE88BB22EE88BB22
- -- patterns[6]: 0xEECCBB33EECCBB33
- -- patterns[7]: 0xFFCCFF33FFCCFF33
- -- patterns[8]: 0xFFEEFFBBFFEEFFBB
- -- patterns[9]: 0xFFFFFFBBFFFFFFBB
- -- patterns[10]: 0x8010022001084004
- -- patterns[11]: 0xFFFFFFFFFFFFFFFF
- -- patterns[12]: 0x8822882288228822
- -- patterns[13]: 0x1122448811224488
- -- patterns[14]: 0xC4800C6843023026
- -- patterns[15]: 0xB130031BD8C00C8D
- -- patterns[16]: 0xAA00AA00AA00AA00
- -- patterns[17]: 0x8822552288225522
- -- patterns[18]: 0x8855225588552255
- -- patterns[19]: 0x77DD77DD77DD77DD
- -- patterns[20]: 0x8000000000000000
- -- patterns[21]: 0xAA55AA55AA55AA55
- -- patterns[22]: 0x038448300C020101
- -- patterns[23]: 0x8244394482010101
- -- patterns[24]: 0x8814224188412214
- -- patterns[25]: 0x8080413E080814E3
- -- patterns[26]: 0x22048C7422179810
- -- patterns[27]: 0xBE808808EB088880
- -- patterns[28]: 0x25C8328964244C92
- -- patterns[29]: 0xA29C41BE2AC914EB
- -- patterns[30]: 0x40A00000040A0000
- -- patterns[31]: 0x8040200002040800
- -- patterns[32]: 0xAA00800088008000
- -- patterns[33]: 0xFF80808080808080
- -- patterns[34]: 0x081C22C180010204
- -- patterns[35]: 0xFF808080FF080808
- -- patterns[36]: 0xF87422478F172271
- -- patterns[37]: 0xBF00BFBFB0B0B0B0
- -- patterns[38]: 0xFF7FBE5DA2418000
- -- patterns[39]: 0xFAF5FAF5A050A050
- -- checksum: 0x0
- ----- HyperTalk script -----
-
- -- two dashes denote comments, ignored by HyperTalk
- -- ModiFone Script
- on idle
- if the short time ≠ field "loc time" then
- put the short time into field "loc time"
- end if
- pass idle
- end idle
-
- on openStack
- global dialNumber, dialArea, HoldAreaCode
- -- dialNumber is the thing the modem calls
- -- dialArea is the area code added to dialNumber
- -- HoldAreaCode is a global variable which carries the area code
- -- from the Area Code Stack over to here.
- -- I could have just used DialArea but the script uses it for some
- -- other functions.
- put empty into field "long dist preamble"
- put empty into msg
- show message box
- put HoldAreaCode into field "long dist preamble"
- -- this field is Dial For Long Distance
- end openStack
-
- on Open Stack...
- put empty into HoldAreaCode
- doMenu
- end Open Stack... -- this flushes the area code if you Open another
- -- stack from ModiFone. You can delete this if you
- -- want to retain the last area code.
-
-
- on dial string
- global dialNumber, dialArea
- put string into dialNumber -- gets the number from the dialog box
- if string is empty then exit dial -- can't dial nothing
-
-
- -- (Comment from Apple stack):
- -- we do not handle international phone numbers correctly
-
- if dialNumber is empty then exit dial -- can't dial nobody
-
- if dialArea contains field "area code"
- then put field "preamble" before dialNumber
- else put field "long dist preamble" before dialNumber
- -- the script won't let you put your own area code in front of a
- -- local number, so it substitutes the thing you need to dial a local
- -- outside line
-
- put "Now dialing: " & dialNumber -- puts words into msg box
-
- if hilite of button "modem (tone dialing)" is true
- then send "dial " & quote & dialNumber & quote & " with modem " & quote & "ATS0=0DT" & quote to HyperCard
- -- tone dialing routine which I don't quite understand
- if hilite of button "modem (pulse dialing)" is true
- then send "dial " & quote & dialNumber & quote & " with modem " & quote & "ATS0=0DP" & quote to HyperCard
- -- ditto
- if hilite of button "speaker (tone dialing)" is true
- then send "dial " & quote & dialNumber & quote to HyperCard
- -- ditto
- put empty -- flushes number. Delete to retain for redialing
- put empty into HoldAreaCode -- empties a/c
- end dial
-
-
- -- all the following is fancy string cleaning stuff that I did not touch
-
- on findAreaCode
- global dialArea,dialNumber
- stripNonDigits
-
- if first char of dialNumber is "9" and "-, " contains char 2 of dialNumber then
- put empty into char 1 of dialNumber -- remove "9"
- stripNonDigits
- end if
-
- get char 2 of dialNumber
- if it is 0 or it is 1 then
- put " " after char 3 of dialNumber
- put first word of dialNumber into dialArea
- put empty into first word of dialNumber
- stripNonDigits
- else put field "area code" into dialArea
-
- stripTrailer
- end findAreaCode
-
- on stripNonDigits
- global dialNumber
- repeat for the length of dialNumber
- get first char of dialNumber
- if it is in "0123456789" then exit stripNonDigits
- put empty into first char of dialNumber
- end repeat
- end stripNonDigits
-
- on stripTrailer
- global dialNumber
- repeat for the length of dialNumber
- get last char of dialNumber
- if it is in "0123456789" then exit stripTrailer
- put empty into last char of dialNumber
- end repeat
- end stripTrailer
-
-
-
-